function getRootNodeId(node){
	if(node!=null){
		var obj = node.getParentNode();
		if(obj==null){//根节点信息
			caseTypeInit($("#caseType"), false,node.id); 
		}else{
			if(obj.level==0){
				caseTypeInit($("#caseType"), false,obj.id); 
			}else{
				getRootNodeId(obj);
			}
		}
	}
}
//弹出新增基本用例页面
function addBaseCase() {
	var selectedNodes = zTree.getSelectedNodes();
	if(selectedNodes.length==0){
		warning("请在树上选中需要的分类节点");
		return;
	}else if(!selectedNodes[0].isParent){
		warning("您不能选择文件内容，请选择文件夹选项进行新增");
		return;
	}
	BootstrapDialog.show({
		title: '新增基本用例信息',
		draggable: true,
		closable: false,
		message: $("<form class='form-inline' style='height:300px'></form>").load('baseCaseAdd.html'),
		onshown: function() {
			//根据选中节点初始化用例类型下拉框
			getRootNodeId(selectedNodes[0]);
			$("#caseType")[0].disabled = true;
		},
		buttons: [{
			icon: 'glyphicon glyphicon-check',
			label: '下一步',
			cssClass: 'btn-primary',
			autospin: true,
			action: function(dialogRef) {
				var caseType = $("#caseType").val().trim();
				var caseName = $("#caseName").val().trim();
				var caseNum = $("#caseNum").val().trim();
				var caseContent = $("#caseContent").val().trim();
				// 判断类型是否为空
				if (caseType == "") {
					warning("请选择基本用例类型!");
					return false;
				}
				// 判断名称是否为空
				if (caseName == "") {
					warning("基本用例名称不能为空!");
					return false;
				}
				// 判断名称过长
                if(caseName.length>=25){
                	warning("基本用例名称不能超过25个字符!");
                       return false;
                }
				// 判断描述是否为空
				if (caseContent == "") {
					warning("基本用例描述不能为空!");
					return false;
				}
				if(checkSpecial(caseName)){
					warning("基本用例名称中不能包含特殊字符!");
					return false;
				}
				// 判断描述过长
                if(caseContent.length>=500){
                	warning("基本用例描述不能超过500个字符!");
                       return false;
                }
				// 判断基本用例编号是否为空
				if (caseNum == "") {
					warning("基本用例编号不能为空!");
					return false;
				}
				// 判断基本用例编号过长
				if (caseNum.length>=20) {
					warning("基本用例编号不能超过20个字符!");
					return false;
				}
				/* ajax向后台发送新建用例的数据 */
				$.ajax({
					type: "POST",
					url: "../../../basecase/addBaseCase",
					data: {
					    type: caseType,
						caseName: caseName,
						caseCode:caseNum,
						treeId:selectedNodes[0].id,
						baseContent: caseContent
					},
					success: function(data) {
						var flag = data.flag;
						addBaseCaseId = data.content;
						if (flag == 0) {
							BootstrapDialog.alert({
								title: '提示',
								message: "用例新增成功!",
								type: BootstrapDialog.TYPE_SUCCESS
							});
							setTimeout(function() {
								BootstrapDialog.closeAll();
								// 点击确定按钮后跳转到测试序列管理界面并将ID传给下一个页面
								window.location.href = "../html/baseCaseEdite.html?addBaseCaseId=" + addBaseCaseId;
							}, 800);
						} else  {
							danger(data.errorInfo);
						}
					},
					error: function(err) {
						danger("服务器异常!");
					}
				});
			}
		}, {
			label: '取消',
			action: function(dialogRef) {
				dialogRef.close();
			}
		}]
	});
}

function caseTypeInit(comboContainer, type,defultValue) {
	//comboContainer为combobox所在的容器
	//type:是否支持输入自动过滤选项功能
	/* 用例类别数据获取 */
	$.ajax({
		url: '../../../basecase/getBaseCaseTypeList',
		type: "GET",
		success: function(obj) {
			if(obj.flag==0){
				var resultc = obj.content;
				if(defultValue!=undefined&&defultValue!=null){
				}else{
					comboContainer.append("<option value='' selected='selected'>请选择</option>");
				}
				for (var i = 0; i < resultc.length; i++) {
					/* 创建option并插入数据 */
					if(resultc[i].dictdataCode==defultValue){
						aa = " selected='selected'";
					}else{
						aa ="";
					}
					comboContainer.append(
							"<option value='" + resultc[i].dictdataCode +"' "+ aa+">" +
							resultc[i].dictdataName + "</option>");
				}
				if (type) {
					comboContainer.combobox();
				}
			}else{
				danger(obj.errorInfo);
			}
		},
		error: function(error) {
			danger("查询基本用例类型失败");
		}
	});
}

//监测特殊字符
function checkSpecial(newName){
	var bool = false;
	var regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
    regCn = /[=·！#￥（——）：；“”‘、，|《。》？、【】[\]]/im;
 
	if(regEn.test(newName) || regCn.test(newName)) {
		bool = true;
	}
	return bool;
}
function onKeyUpFun(event,count){
	if(event.value.length>count){
		warning('输入不能超过'+count+"个字符");
	}

}